package com.tofacebook.spring.jdbc.model;

public class Dept {

    //数据库字段  dept_i
    private Long deptId;

    //字段 dept_name
    private String deptName;

    public Dept() {
        /*spring IOC容器去管理我们java bean 的时候，是通过调用无参的构造方法来创建对象的
        * 所以我们需要在该方法里面打印一下是否会先执行该方法
        */
        System.out.println("IOC创建对象会先调用无参数方法：1");
    }

    public Dept(Long deptId, String deptName) {
        this.deptId = deptId;
        this.deptName = deptName;
    }

    public Long getDeptId() {

        return deptId;
    }

    public void setDeptId(Long deptId) {
        /*
         * 给对象中的属性赋值，是通过spring中的依赖注入的方式，会第二打印的
         * */
        System.out.println("给对象中的属性赋值，是通过spring中的依赖注入的方式，会第二打印的:  2");
        this.deptId = deptId;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    @Override
    public String toString() {
        return "Dept{" +
                "deptId=" + deptId +
                ", deptName='" + deptName + '\'' +
                '}';
    }

    public void initMethod(){
        System.out.println("调用对象的初始化方法3：===》");
    }
    public void destoryMethod(){
        /**
         * 对象销毁的方法必须要先将spring IOC容器先关闭掉
         * 但是我们的ApplicationContext里面没有提供刷选和关闭的方法，只能通过他的子接口去关闭掉，
         * 那么我们需要将ApplicationContext  换成 ConfigurableApplicationContext
         */
        System.out.println("调用对象的销毁方法5：===》");
    }
}
